home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #2
/
Monster Media No. 2 (Monster Media)(1994).ISO
/
utils1
/
dosmenu6.zip
/
DOSMENU.DOC
< prev
next >
Wrap
Text File
|
1994-06-13
|
65KB
|
1,772 lines
DOSmenu
═══════
A Powerful, Easy Management System
For Novell Netware, Other Networks, And Stand-Alone PCs
(C)Copyright 1993-1994
Skip Bremer
Austin, Texas
All rights reserved
Version 6.4c
June 1994
TABLE OF CONTENTS
══════════════════════════════════════════════════════════════════════════════
Topic Page
Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . 4
Requirements
Recommendations
Maximum Limits
Startup Options
Required Files
Optional Files
Update Procedures For Registered Users
Quick Start Instructions . . . . . . . . . . . . . . . . . . 7
Startup Batch File . . . . . . . . . . . . . . . . . . . . . 8
Menu Commands . . . . . . . . . . . . . . . . . . . . . . . 9
System Setup . . . . . . . . . . . . . . . . . . . . . . . . 10
Menu Definition . . . . . . . . . . . . . . . . . . . . . . 15
Server-Based Convention
Rights-Based Convention
Notes
Testing Your Menu
Menu Rules . . . . . . . . . . . . . . . . . . . . . . . . . 21
Rules
Notes
Loading Additional Menus (/LOAD, /MENU)
Chaining Startup Batch Files (/NEW)
Logging In To Other Servers (/LOGIN)
Sub-Menus . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Compiling Menu Files . . . . . . . . . . . . . . . . . . . . 26
Translating Menu Files . . . . . . . . . . . . . . . . . . . 27
Temporary Batch Files . . . . . . . . . . . . . . . . . . . . 28
DOS Environment Variables . . . . . . . . . . . . . . . . . . 29
Noticing . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Personal Menus . . . . . . . . . . . . . . . . . . . . . . . 31
Software Metering Service . . . . . . . . . . . . . . . . . . 32
DMutil Maintenance Utility . . . . . . . . . . . . . . . . . 33
Command Parameters
The Menu File Editor
DMquery Batch Input Utility . . . . . . . . . . . . . . . . . 34
DMmeter Metering Utility . . . . . . . . . . . . . . . . . . 35
WOmeter Metering Utility . . . . . . . . . . . . . . . . . . 36
Windows Office Menu . . . . . . . . . . . . . . . . . . . . . 37
Additional DOSmenu Documentation Files . . . . . . . . . . . 38
INTRODUCTION
══════════════════════════════════════════════════════════════════════════════
DOSmenu was designed as a simple yet powerful menu system for both network and
stand-alone environments. Please use DOSmenu for evaluation purposes, but if
you continue to use it, you should register according to the documentation in
DMLEGAL.DOC.
Here is a quick overview of DOSmenu:
o Small executable size.
o No memory overhead.
o Unlimited menus.
o Run any program, including TSRs.
o Many rights options to determine whether a menu item is usable by a user.
o Automatically knows NetWare. Works with other networks and stand-alone
environments.
o Change menu environment on-the-fly while users are active.
o Optionally compile menu files for ultimate menu security.
o One utility (DMutil) handles all menu setup tasks.
o Translate NetWare menu files.
o Complete user logging and reporting capabilities.
o Complete Software Metering Service and reporting capabilities.
o Full mouse support, activated screen saving, a menu utility set and
printed documentation with the registered version.
MISCELLANEOUS
══════════════════════════════════════════════════════════════════════════════
REQUIREMENTS
════════════
DOSmenu's only known requirement is that it must run under DOS 3.1 or higher.
It loads Windows fine and runs fine from a Windows DOS session.
RECOMMENDATIONS
═══════════════
We strongly recommend placing the command
SHELL=C:\COMMAND.COM /E:512 /P {or more}
in all CONFIG.SYS files using this menu system. The environment space is
needed as DOSmenu passes many things through the DOS environment (thereby
utilizing NO overhead).
MAXIMUM LIMITS
══════════════
Menu files: unlimited
Sub-menus per menu file: 15
Shown items per sub-menu: 20
DOS commands per menu item: 15
Rights per menu item: 10
Right items per right group: 10
Length of menu items: 50
Length of menu rights: 128
Length of menu commands: 60
Length of help lines: 60
Length of screen title: 42
Length of questions: 72
Active notices per user: 15
Number of lines per notice: 10
Length of notice lines: 70
Metered applications: 100
STARTUP OPTIONS
═══════════════
DOSmenu is started with the DOSMENU command from within a batch file.
However, you may specify a user ID, a server name and/or a node address on the
DOSmenu command line through parameters issued to the batch file. This is not
normally necessary because DOSmenu picks the user ID and server name up
automatically on NetWare networks and you may define DOS variables that are
identified from within the DOSmenu INI file to determine the active user and
active server on stand-alone environments.
REQUIRED FILES
══════════════
The following files are necessary to run DOSmenu:
DOSMENU.EXE The DOSmenu program.
DMMISC.EXE Required for registered versions (it is the register-key file).
It must reside in DOSMENU.EXE's home directory.
DMUTIL.EXE The DOSmenu utility program. It handles all menu system setup
chores.
DOSMENU.INI The default DOSmenu INI file initially made and edited with
DMutil. It configures your menu system environment.
DOSMENU.MNU The default DOSmenu menu file initially made and edited with
DMutil. This file is the default menu.
MENU.BAT The startup batch file initially made and edited with DMutil.
OPTIONAL FILES
══════════════
DOSMENU.PER Optional personal menu kept in users' private directory.
DOSMENU.NTE The default DOSmenu note file initially made and edited with
DMutil. This file holds user notices.
DOSMENU.LOG If logging is enabled, this file is appended every time a user
performs a menu action.
DOSMENU.MTR If metering is enabled, this is the central file where the
metering information is kept.
DMQUERY.EXE An external utility that gets and uses batch file input.
DMMETER.EXE An external software metering utility that can compliment the
metering services offered from within the DOSmenu.
WOMETER.EXE A Windows-based software metering utility that can be used to
view, reset, and periodically erase the meter file. This
program performs the same functions as DMmeter from within
Windows as part of the Windows Office Menu System (see below).
THREED.VBX Required to run WOMETER.EXE. Place in \WINDOWS directory.
VBRUN300.DLL Required to run WOMETER.EXE. Place in \WINDOWS directory. (If
necessary, it can be downloaded from most online services, and
it is shipped with the registered version.)
DMPAUSE.EXE Like DOS 'pause' command but with ^C and ^Break key trapping.
NOBRK.EXE A very useful utility that can help to guarantee security
within your menu system with an approach different than the
inherent DOSmenu {r=nobreak} rights option.
DMSAVER.EXE An external screen saver (you may use your own as well).
(This feature is only called from DOSmenu in the registered
version.)
DMLOGIN.EXE A great login/logout utility that enhances network order and
security. (See DMLOGIN.DOC for specifics).
Many additional utility programs (see DMBONUS.DOC) are also shipped with the
registered version.
UPDATE PROCEDURES FOR REGISTERED USERS
══════════════════════════════════════
There are two ways to upgrade your registered version of DOSmenu starting with
version 6.4.
Download from CIS (or other online services)
────────────────────────────────────────────
You may download the latest shareware self-extracting ZIP file (DOSMNU.EXE)
anytime, run it, and then copy its files over your existing registered files.
It will then become registered automatically. (Make sure you do not delete
the existing DMMISC.EXE file, which is your register-key file.)
By mail from the author
───────────────────────
You may write to the author and request the latest registered update. Please
include $15 US for shipping and handling.
QUICK START INSTRUCTIONS
══════════════════════════════════════════════════════════════════════════════
To quickly get the menu system up and running, do the following (check the
documentation later for specifics):
o Copy DOSmenu files to a permanent home directory (we strongly recommend
the server's \LOGIN directory if operating on a network!).
o Change to that home directory.
* For the shareware version only, run DOSMNU.EXE to extract the files.
o Run 'DMUTIL /M' to make the default menu files.
o Run 'DMUTIL' to setup the DOSmenu system files.
DOSMENU.INI - init menu environment file
DOSMENU.MNU - default menu file
DOSMENU.NTE - note file for user/group notices
o Run 'DMUTIL /C DOSMENU.INI' to compile the init file -optional.
o Run 'DMUTIL /C DOSMENU.MNU' to compile the menu file -optional.
o Run 'MENU' to start the menu system.
o Press F1 to see the in-menu options.
o Press F9 to further tailor your menu system.
Enjoy!
STARTUP BATCH FILE
══════════════════════════════════════════════════════════════════════════════
As part of the initial file installation performed by DMutil, the file
MENU.BAT will be made in DOSmenu's home directory. All DOSmenu files except
for MENU.BAT and the MNU files _must_ stay in DOSmenu's home directory. All
users must be able to 'read' this directory. If you move MENU.BAT, be sure to
change it accordingly. You may also move MNU files as long as you call them
with their path. If no path is given, then DOSmenu looks for them in its home
directory.
Here is a commented MENU.BAT:
@echo off ;Cosmetics only
::uncomment variation of next line on networks when you don't want the menu to
:: appear if user is not logged in (especially if MENU.BAT is in LOGIN dir)
REM if not exist f:\public\*.* goto END
::replace %5 on next line only with menu name if not starting with DOSMENU.MNU
f: ;helps achive a 'cleaner' logout
cd \login ;"
f:\login\dosmenu /batch %1 %2 %3 %4 %5 ;Point to/run DOSmenu {with parameters
; if desired (not required on NetWare)}
::quitting the menu system? ;255 passed with F10 or 'goto END' passed
if errorlevel 255 goto END ;If so, then leave loop and batch file
::running a new startup batch file? ;254 passed with /NEW or /LOGIN commands
if errorlevel 254 goto NEW ;If so, then leave loop and batch file
%_dmcmd% ;The DOS command or temp batch file name
::do it again ;Keep running the batch file (and the menu
f:\login\menu %1 %2 %3 %4 %5 %_dmmnu% /rerun ; system) until system stopped
goto END
:NEW
%_dmcmd% ;The new startup batch file name
:END ;Place to go to when quitting
Be cautious about changing this batch file!
Parameters are normally only needed if you are not running on NetWare and have
not set the names of the user ID and server name variables to be used by
DOSmenu in the menu file and you are not running in a stand-alone environment.
The DOS variable _dmcmd is loaded as either the actual menu command or as a
temporary batch file path and name made by DOSmenu when it combines the
commands for a menu item.
The _dmmnu DOS variable holds the name of the current 'main menu'.
Quitting will move to the end of the batch file, thereby stopping the system.
You can place a quit command on your user's menu to do the same thing by
defining a single DOS command for that menu item as 'goto END'.
MENU COMMANDS
══════════════════════════════════════════════════════════════════════════════
F1 HELP Brings up context sensitive help.
F2 DOS Performs any DOS command from within the confines of the menu
system. Can be password protected.
F3 VIEW DOS Views the last DOS screen. If quit timing is enabled and an F2
password is enabled, this option is password protected.
F4 VIEW NOTE Views any notices that were directed to a user.
F5 PERSONAL Load user's personal menu file. Can be disabled.
F6 EDIT PER Edit personal menu file. Can be disabled.
F9 ADMIN Edits all of the menu system files at one time, interactively,
while running the menu system. Can be password protected.
F10 QUIT Quits DOSmenu. Can be password protected.
ESC PREVIOUS Backs up to the previous menu or cancels a question.
SYSTEM SETUP
══════════════════════════════════════════════════════════════════════════════
DOSmenu has two setup phases, the initial default file creation and then
configuration.
DEFAULT MENU FILES CREATION
═══════════════════════════
After moving all DOSmenu files to a permanent home directory, and then moving
to that directory, you must run DMUTIL /M to make the initial menu file set
consisting of DOSMENU.INI (the init file), DOSMENU.MNU (the menu file shell),
DOSMENU.NTE (the note file) and MENU.BAT (the startup batch). DOSmenu must
run from a batch file for the reasons discussed below. We will use the name
MENU.BAT throughout this documentation, however it may be renamed. If
renamed, be sure to change the file accordingly.
SYSTEM CONFIGURATION
════════════════════
After DOSMENU.INI is created, you need to edit it with DMutil in order to set
the environment for your specific system. The INI file contains various
options and switches that control how DOSmenu (and DMutil) will work for you
and your users. These are discussed here.
[DMutil]
Activate mouse=
───────────────
Default=yes. With the registered version, you may optionally engage use of a
mouse (if a mouse driver is available) or disengage use. Disengaging can be
useful if your system takes a long time to reset the mouse driver when loading
DOS mouse-aware programs.
DOSmenu Startup Batch File=
───────────────────────────
Default={directory you built files in originally}. This option allows DMutil
to load your startup batch file when loading the other menu system files with
the 'DMUTIL' command. You should enter the path and name of your startup
batch file here.
[Interface]
Use Mouse=
──────────
Default=yes. With the registered version, you may optionally use your mouse
to manipulate your menu. A mouse driver (like MOUSE.COM) must be loaded on
the work station to enable mouse support.
Desktop Color=
──────────────
Default=71 or 70(monochrome machines). This number determines the color of
the menu system's desktop background. The first number represents the
foreground color, and the second number represents the background color. If
you enter only one color, then it will represent the background color and the
foreground color will be 0. Entering nothing or 0 will disable the desktop
background. For example:
71 = white on blue
7 = black on white
0 = no background
The standard MS-DOS colors are:
0=black 1=blue 2=green 3=cyan 4=red 5=magenta 6=brown 7=white
Information Color=
──────────────────
Default=7. This single number determines the background color of the
informations lines on the desktop. You may enter a number from 0 to 7. The
colors are identified above. (Try Desktop Color=31; Information Color=3.)
Use CRT Border=
───────────────
Default=yes. Do you wish your CRT's border to be filled in. This option does
not work on monochrome monitors.
Max Menu Window Height=
───────────────────────
Default=10. You may enter a number from 3 to 17 to define the max height of
all menu windows.
Screen Saver Time=
──────────────────
Default=5. 0 disables screen saving. (Only works with registered version.)
Screen Saver File=
──────────────────
Default=[path]dmsaver.exe 1. You may use your own saver as well. Keep in
mind that the screen saver feature will not function if a timed logout has
been defined for the system (see below). The parameter 1 (or 2 or 3) defines
what type of screen saver you will use. Type DMSAVER ? for specifics.
Screen Title=
─────────────
Default=DOSmenu Menu System. You may place your company name or something
similar here, if you desire. If this item is left blank, then there will be
no information line at the top of the screen.
Support Comment=
────────────────
Default=For HELP Please Call Computer Support. This phrase will be shown
blinking at the bottom of the main help window so that your users will easily
know what to do in case they need help.
[Network]
Using NetWare=
──────────────
Default=yes. This switch tells DOSmenu whether it should make NetWare API
calls to determine the actual user and server in force when it is running.
These two pieces of information can be overridden by you whenever you wish by
one of the following methods:
Set DOS variables equal to the current network user and file server and
then define those variables for DOSmenu (below). This option is useful
when running on non-NetWare networks. For instance, if you set the DOS
variable _USER to the actual user ID in the network login script, then it
will be found and used by DOSmenu if you enter _USER as the user DOS
variable with the option below.
Non-NetWare DOS User Var=_user
Non-NetWare DOS Server Var=_server
Or you may place them directly in the batch file, like
path\dosmenu /batch /u:%_user% /s:%_server%
or type them when running the batch file, like
menu /u:_user /s:_server
The priority DOSmenu uses to obtain this information is as follows:
1. Actual NetWare information if NetWare=yes and on a Novell network.
2. Already set DOS variables (overrides 1.).
3. Command line parameters (overrides both 1. and 2.).
Non-NetWare DOS User Var=
─────────────────────────
Default={nothing}. As discussed above, this option allows DOSmenu to find the
user ID for the person running the menu system when not on a NetWare network
(or when you decide to override the API method).
Non-NetWare DOS Server Var=
───────────────────────────
Default={nothing}. As discussed above, this option allows DOSmenu to find the
server name for the person running the menu system when not on a NetWare
network (or when you decide to override the API method).
Any-Network DOS Node Var=
─────────────────────────
Default={nothing}. This option allows DOSmenu to use the work station network
node address as a determinant as to whether a menu item will be available or
not.
Private Directory=
──────────────────
Default=c:\. DOSmenu will write an on-the-fly batch file to run menu commands
embedded within the menu file _only_ when there is more than one command for
the chosen menu item. When this happens, this batch file must be written to
an area where the user has write and erase rights.
Typically, on networks, a 'private' area is mapped for each user on login as
their personally mapped drive (actually just a network directory based on the
user's ID) on the server. In such a case, you should place that location
here. An example might be H:\ if you had performed a
MAP ROOT F:\USERS\%LOGIN_NAME to H:\ (on a Novell network).
If no such directory is mapped or used on your network, then we suggest using
C:\, which should always be private to the user for every session.
If you would rather have all users write their on-the-fly batch files (when
necessary) to the same location, that is OK as long as you are on a Novell
network because DOSmenu also knows and uses the actual user connection number
as part of the batch file name, e.g., _DMBT4.BAT, where this user is using
connection number 4. In this case, simply define the private directory as any
one place on the network where all users have write and erase rights.
Remember, this batch file is only written if more than one DOS command is
defined as part of a chosen menu item. You may actually specify two private
locations for this option, like
Private Directory=h:\,c:\
to help take care of special cases like when a user does not have the proper
network mappings.
You may use the syntax =%var1%,%var2% to use the contents of DOS variables
for this purpose.
On a stand-alone environment, you do not need to define a private directory,
and in that case, any temporary batch files will be written to DOSMENU.EXE's
home directory.
Allow Personal Menus=
─────────────────────
Default=yes. If yes, then each user may maintain, run and edit a personal
menu file, DOSMENU.PER, that resides in their defined private directory (see
above). Users must have write and erase rights to this directory.
Force Personal NoBreaks=
────────────────────────
Default=yes. If personal menus are allowed, this protects the security of
your system by forcing all menu items on the user menu to be run with the
{r=nobreak} right set. This effectively eliminates the possibility of a user
breaking out of a batch file or DOS command by pressing ^C or ^Break.
Strongly recommended. However, understand that any batch file that uses an
embedded NetWare search mapping command will not be honored in this case. The
alternative is to use the included NOBRK TSR utility.
Timed Group=
────────────
Default={nothing}. Enter one group name here to optionally time that group
only if Timed Quit Menu Time= is entered below.
Untimed Group=
──────────────
Default={nothing}. Enter one group name here to optionally ignoring timing
for that group only if Timed Quit Menu Time= is entered below.
[Security]
F2 Run DOS Password=
────────────────────
Default={nothing}. If filled in, DOSmenu will require this password before
allowing users the option of composing and running their own DOS commands.
For safety reasons, if a user enters nothing or a command that has the word
'command' anywhere within it, then it will be ignored.
F9 Admin Password=
──────────────────
Default={nothing}. If filled in, DOSmenu will require this password before
allowing anyone to edit the menu system files. If no password is defined,
then anyone can edit your menu system. This password is also queried by
DMutil in case someone tries to run DMutil from DOS.
F10 Quit Menu Password=
───────────────────────
Default={nothing}. If filled in, DOSmenu will require this password before
allowing users the option of quitting the menu system. If no password is
defined, then the user will be prompted to be sure they wish to quit the menu
system.
NOTE: After defining password(s), you should compile the DOSMENU.INI file with
DMUTIL /C DOSMENU.INI
for security reasons.
Password Exception Group=
─────────────────────────
Default={nothing}. If filled in, then members of this group will not be asked
for any password from within DOSmenu, even if they are defined.
Use Software Metering=
──────────────────────
Default=no. When enabled, the METER right will be enabled in your menu
system. You will be able to meter any DOS software application your users
employ, which can help keep you and your company out of trouble. See the
Software Metering Service section for specifics.
Meter File=
Default={nothing}. If metering is enabled, then a path and filename must be
entered here. This file will become the central metering file for your system
(on the current server). Users must have write and erase rights to this file.
Use Logging=
────────────
Default=yes. When enabled, the user's log file is appended to every time a
user performs a menu action. The file is normally written to the user's
defined private directory.
Central Logging=
────────────────
Default=no. If yes, then one log file for all users is written to the file
specified in the next entry.
Central Log File=
─────────────────
Default={nothing}. Where to write central log information to, if activated.
Users must have write and erase rights to this area.
Max Log File Size=
──────────────────
Default={nothing}. If you enter a number here, then DOSmenu will delete the
log file when its gets to the size you specify, like:
Max Log File size=500000.
Timed Quit Menu Time=
─────────────────────
Default=0. This option, if enabled, allows you to control your user's allowed
time of inactivity before forcing them off of the network (or simply out of
the menu system). Entering 0 or nothing disables this function.
Timed Quit Menu Command=
────────────────────────
Default=logout. If automatic quitting is enabled via the option above, then
whatever is placed in this option will be run when the automatic quit is
invoked. Obviously entering 'logout' will log the user out of a Novell
network. If you simply wanted to remove a user from the menu system at
automatic quit, then enter 'goto end' here. This in affect will take the user
out of the MENU.BAT internal loop that normally keeps DOSmenu going.
[Global Keys]
AltF? Text= (where ? = 1 to 5)
───────────
Default={variable}. These lines determine what text will show by a global
alternate function key.
Alt? Cmnd= (where ? = 1 to 5)
──────────
Default={variable}. These lines hold the DOS command for the appropriate
global alternate function key. These commands are alsways shown, when
defined, and are run with the {r=nobreak} option, just like F2 DOS commands.
You may place a '@' within a command to prompt for a question. If no commands
are defined, then pressing the Alt key will not show them on screen.
MENU DEFINITION
══════════════════════════════════════════════════════════════════════════════
There are two conventions used to control the menu or menus a user gets when
running the menu system, server-based and rights-based. These conventions are
much more difficult to explain than to actually use, so we will briefly both
describe and show example code, offset with ';─────', throughout.
SERVER-BASED CONVENTION
═══════════════════════
Approaching the DOSMENU.MNU menu file from the top down, the system can be
thought of as a server-based system. This can become quite robust, as in our
eight-server domain or quite simple, as in the case of a single server or a
stand-alone environment. Basically, the file is divided vertically into
server sections that are defined by the actual server name. An all
encompassing name is also allowed and it is called ALL. Each server name, and
the ALL choice, must start at the beginning of a line with a colon, e.g.,
:OUR_SERVER or :ALL. You can have more than one section defined with the same
server name, such as an :ALL section at the beginning and at the end.
Here is a segment of a menu definition showing the vertical server-based
method:
;─────
%Main Menu
:ALL
Word Perfect
wp
:MAIN_SERVER
Paradox
paradox
Lotus 1-2-3
123
:SECOND_SERVER
Proprietary application
ourapp
:ALL
Logout of the network
logout
;─────
In the above example, you can see that a person who is running on the main
server would get the following main menu:
─────
Word Perfect
Paradox
Lotus 1-2-3
Logout of the network
─────
while a person running on the second server would get:
─────
Word Perfect
Proprietary application
Logout of the network
─────
Note that any menu items (and sub-menus and their items) may be accessible
depending upon which section they are placed under, subject to the next
convention of discrimination, rights-based, which is discussed below.
RIGHTS-BASED CONVENTION
═══════════════════════
A secondary, more powerful means of segregating the menu file between users is
the rights-based method. Whereas the server-based convention may be viewed as
vertical, think of the rights-based convention as horizontal. In other words,
after deciding which server a user is using, we then must decide what the
rights of that user are, and this convention does just that. Let's discuss
each method in detail.
All rights assumed
──────────────────
Right = no right line entered. This method is the quickest and least secure
way of checking users rights because it checks nothing. In other words, a
menu item will show up on a user's menu if it is under the correct server name
(or ALL), period. Here, you will be relying on your defined network rights to
determine whether a user will be able to _run_ an item or not (they will see
them on their menu). This method is, of course, exactly what you would
normally use if you were on a stand-alone environment.
;─────
Paradox
paradox
;─────
User gets item if it is available, period.
Directory rights
────────────────
Right = {d=directory name or d=directory name1,directory name2 ..}. DOSmenu
will look to see if any of the listed directories exist for the user when it
reads the menu file, and if none of them do, it will not place the item on the
user's menu.
;─────
Paradox
{d=c:\apps\paradox}
paradox
;─────
User gets item only if F:\APPS\PARADOX is 'visible' in the user's environment.
File rights
───────────
Right = {f=file name or f=file name1,file name2 ..}. DOSmenu will look to see
if any of the listed files exist for the user when it reads the menu file, and
if none of them do, it will not place the item on the user's menu.
;─────
Paradox
{f=f:\apps\paradox\paradox.exe}
paradox
;─────
User gets item only if F:\APPS\PARADOX\PARADOX.EXE is 'visible' in the user's
environment.
Server rights (NetWare only unless DOS variable/command line parameters used)
─────────────
Right = {s=server_name1 or s=server_name1,server_name2 ..}. Do not confuse
this method with the server-based convention. Here, by placing one or more
server names with a menu item, you are saying only show this item when the
user is logged into one of those servers.
;─────
Paradox
{s=main_server}
paradox
;─────
User gets item only if the user is logged into and running on MAIN_SERVER.
Group rights (NetWare only unless DOS variable/command line parameters used)
────────────
Right = {g=group_name1 or g=group_name1,group_name2 ..}. Normally you define
groups to group certain users that you can later assign trustee rights to,
thereby giving them access to certain programs. This method allows you to use
that work when discriminating in your menu system. There is an advantage
here, however, in that even if you do not bother with trustee rights and your
network is open, DOSmenu will act like it is all set up just right. In other
words, DOSmenu doesn't care about actual rights; it only cares about whether
the user is in the group name or group names that you tell it. If not, then
the user does not get the menu item displayed (and therefore cannot run it).
;─────
Paradox
{g=paradox}
paradox
;─────
User gets item only if a member of group PARADOX.
User rights (NetWare only unless DOS variable/command line parameters used)
───────────
Right = {u=user_id or u=user_id1,user_id2 ..}. This method takes the
discrimination down to the actual user ID running the system. If the user
name is in the list, then the user gets the item on their menu (if any other
specified rights are also approved and the server-based convention allows it).
;─────
Paradox
{u=joeb}
paradox
;─────
User gets item only if his user logon ID is JOEB.
Node rights (DOS variable/command line parameter is required for this right)
───────────
Right = {n=node_address or n=node_address1, node_address2 ..}. This method
takes the discrimination down to the actual work station. If the node address
is the same as the work station, the user gets the item on their menu (if any
other rights are also approved and the server-based convention allows it).
;─────
Paradox
{n=fa164505}
paradox
;─────
User gets item only if his work station's address is FA164505.
You must pull the work station's node address to DOS by setting it to a DOS
variable from within the network's initial login script. Only then can you
check for it from the menu system.
Environment rights
──────────────────
Right = {e=dos_env_var~env_var_text, ..}. This powerful right tests for the
contents of a DOS variable. For instance, to run a menu item depending on
what room a person is in, set ROOM=room_number at login; then enter this right
for the menu item in the menu file: {e=room~102} to test for room 102. To
test whether the var room is null (does not exist), type {e=room~}.
Today rights
────────────
Right = {t=su,mo,tu,we,th,fr,sa}. This right tests to see if the current day
is equal to the day specified.
Date greater than rights
────────────────────────
Right = {>=MM/DD/YYYY}. This right tests to see if the current day is greater
than the specified date (must be in this format).
Date same as rights
───────────────────
Right = {==MM/DD/YYYY}. This right tests to see if the current day is the
same as the specified date (must be in this format).
Date less than rights
─────────────────────
Right = {<=MM/DD/YYYY}. This right test to see if the current day is less
than the specified date (must be in this format).
Password rights
───────────────
Right = {p=password where password is any alphanumeric, non-case sensitive,
from 1 to 10 characters long}. Placing a password on a menu item means that
when the user selects this item (no matter what type it is - command or
sub-menu), the user will be prompted for the correct password.
;─────
Paradox
{p=restrict}
paradox
;─────
User gets item only if he or she can answer the password prompt with RESTRICT.
Question rights (not really a 'right')
───────────────
Right = {q=your question that demands a yes/no answer?} This method pops up
your question for a Yes or No answer. If the answer is no, then the item will
not be run.
If a '!' is placed prior to the question, {q=!comment}, then the question
becomes a comment only.
;─────
Paradox
{q=Are you sure?}
paradox
;─────
View rights (not really a 'right')
───────────
Right = {v=text_file_name}. This method reads the text file and then displays
it in a window on screen. The user can press escape to abort running the menu
item. A maximum of 20 lines of 72 characters or less will be shown.
Software metering rights (not really a 'right')
────────────────────────
Right = {m=command:number}. Entering this right on an item's right line will
force the command for the item to be metered, if metering is turned on and the
meter file has been defined (within DOSMENU.INI). See the Software Metering
Service section for a complete discussion.
;─────
W WordPerfect
{m=wp51:25}
f:\apps\wp\wp
;─────
This item runs as long as less than 25 users are running it at the same time.
Run rights (not really a 'right')
──────────
Right = {r=nobreak,clear}.
NOBREAK: This is where you determine whether batch files will be run with a
second copy of the DOS command processor (NOBREAK) or not. This right is only
appropriate when running multi-line commands (which DOSmenu turns into batch
files) or by running batch files; it should not be used unless batch files are
being run (and then it is your choice). One disadvantage of running NOBREAK
is that NetWare search mapping commands generated within a batch file will not
work. Consider the included NOBRK TSR utility for fool-proof disabling of the
^C and ^Break keys.
;─────
M My batch file
{r=nobreak}
dir \
pause
;─────
;─────
WordPerfect
{r=nobreak}
wp.bat
;─────
CLEAR: This simply clears the DOS screen before running the menu item command.
Location rights (not really a 'right' -for notices in note file only)
───────────────
Right = {r=one_to_three_letters}. You may optionally place this right on a
notice to set the location of it on the screen, like:
;─────
{l=tl}
A note
;─────
where T=top, L=left, B=bottom, and R=right, N=noise and F=Flash title.
NOTES
═════
More than one of the above methods may be used at one time, either within the
same right grouping or by having two or more groupings separated with a ';'.
For example, you can place both a server (s=) method and a group (g=) method
on the same menu item, like:
;─────
Paradox
{g=paradox} {s=server1}
paradox
;─────
Here, it is read as member of paradox group _AND_ on server1.
;─────
Paradox
{g=paradox;s=server1}
paradox
;─────
Here, it is read as member of paradox _OR_ on server1.
Note that when using more than one grouping, each of the groupings must be
true for the item to be shown (they are ANDed). When using one or more
methods within the same group, they are ORed.
Placing a '!' before a name means 'not'. Where {g=paradox} means if the
current user is a member of group paradox, then display the menu item;
{g=!paradox} means display the item only if the current user is NOT a member
of group paradox (they are ORed only within each set of braces {}).
You may use spaces instead of commas. The syntax {g=group1,group2} is the
same as {g=group1 group2}.
The biggest rule that you must remember about the rights methods are that
within each set of braces {}, the answer must be true. So if you use more
than one set of braces for a menu item, they all must be true. For example:
;─────
P Paradox
{g=paradox} {u=joe,jim;n=fa164505} {s=!server2}
;─────
will only show on the menu if the user is a member of the PARADOX group _AND_
the user is JOE _OR_ JIM _OR_ the node address is FA164505 _AND_ the user is
not on SERVER2.
TESTING YOUR MENU
═════════════════
After you have placed a lot of restrictions on your menu items, you may find
it frustrating to see what the final outcome of an item looks like. There is
a way around this.
Enter a bogus user ID and server name from the command line. For instance, if
you reside on SERVER1 but wish to check the appearance of SERVER2's menu, then
enter the startup batch file with the command
MENU /U:USER_ID /S:SERVER2
where user_id is the name you wish to check for SERVER2. You can do this for
all of your servers and any user.
MENU RULES
══════════════════════════════════════════════════════════════════════════════
The syntax for the menu file requires certain conventions. In most cases,
DOSmenu will issue an error message if it has trouble interpreting the file
because of a syntax violation of one of the below described rules. If you get
stuck in an error loop within the batch file, press Alt-F10 at the read error
message window to quit.
RULES
═════
Main menu name
──────────────
The first line of the file must be the main menu's name, starting with a
percent symbol '%'. You can optionally place the starting x and y coordinates
of the menu window after the menu name, like: %Main Menu, 5, 10. This means
the upper left corner of the menu will be 5 columns from the left edge and 10
rows from the top.
Server sections
───────────────
There must be at least one server name before any menu items, unless
operating in a standalone environment. In a network environment, use :ALL, as
a minimum, just after the main menu title and the one REQUIRED blank line.
Comments
────────
Any line starting with a semi-colon ';' is a programming comment only.
Blank lines
───────────
Blank lines are only allowed (and, in fact, REQUIRED) before server sections
and menu titles. See the Menu File Example section for a properly formatted
file.
Menu action character
─────────────────────
The first letter of a menu item will always be highlighted and will be
searched when the used presses a key to move to a particular menu item. It
may or may not be part of the first word of the menu item. For example,
Lotus 1-2-3
and
L Lotus 1-2-3
offer the same result. It is a cosmetic choice that you must make. Of
course, you could also use
1 Lotus 1-2-3.
Indenting
─────────
All server name lines and menu item lines must NOT be indented. All help
lines, rights lines and DOS commands MUST be indented at least one space. A
tab character is allowed for the indentation.
Rights line length
──────────────────
The maximum length from the beginning of the rights ({}{}..) line from
beginning to end (not including spaces or beginning tabs) is 128. You may
have more than one rights line per menu item for convenience, put there
character count must all add up to 128 or less.
Parameters
──────────
Single-command menu items may be setup to ask the user for a parameter prior
to actually running the command associated with the menu item. This is not
allowed for multi-command menu items. Place a question mark '@' at the exact
location you wish to add input to the command. Here are some examples:
dir @ /p
chkdsk @:
format @: /u
For multi-command items and multi-response items, use the DMquery syntax.
Sub-menu names
──────────────
All sub-menu names, both when called as a command and when entered as a
sub-menu title, must start with the percent symbol '%'. There MUST be a
blank line before the sub-menu name. Sub-menus must come somewhere _after_
the menu item that calls them.
Help lines
──────────
Help lines for each menu item, if used, must be indented and start with a
number symbol '#'. There can be a maximum of one help line per menu item.
Menu commands
─────────────
If you place a %dos_var% syntax within the command, the actual DOS variable's
text will be used. Make sure the first '%' is not the first character of the
command or it will be interpreted as a sub-menu name. When this is necessary,
place 'call' in front of the command, like:
call %drive%:\apps\paradox
NOTES
═════
You may rename DOSMENU.MNU to another name or copy it to another menu file
because DOSmenu will run any menu file that you have as long as you
specify that file name on the command line. Note that the .MNU is assumed.
No other extension is allowed.
MENU [/U:USER1] [/S:SERVER1] [PATH]MYMENU[.MNU]
and
MENU MYMENU
will both attempt to load MYMENU.MNU, the later from DOSmenu's home directory.
LOADING ADDITION MENUS
══════════════════════
You may switch menu files from within the menu system by LOADing them or
/MENUing them. This is accomplished by placing the /LOAD [PATH]MENU_FILE or
/MENU [PATH]MENU_FILE as the first and only command line for a menu item,
like:
;─────
Support Menu
/load [path]support[.mnu]
Word Perfect
wp
;─────
Here, if Support Menu is chosen, then the system will load the SUPPORT.MNU
menu file (from DOSmenu's _home_ directory if no path is given) to temporarily
replace the active menu file. You may do this an unlimited number of times.
After a command is run, the original main menu reloads.
To prevent the original main menu from reloading, use /MENU. This command
forces the menu to become the permanent new default main menu. If you wish
users to have the option of going back to the original menu later, you will
have to give them that option with another /MENU command in the new menu,
like:
;─────
M Main Menu
/menu [path]dosmenu[.mnu]
;─────
CHAINING STARTUP BATCH FILES
════════════════════════════
You may switch to another startup batch file (perhaps on an another attached
server?) from within a menu. This is accomplished by placing the /NEW
[PATH]BATCH_NAME[.BAT] as the first and only command line for a menu item,
like:
;─────
Support Menu
/new [path]support[.bat]
Word Perfect
wp
;─────
Here, if Support Menu is chosen, then the system will quit the current batch
file, dumping the menu environment variable, and run the [PATH]SUPPORT.BAT
batch file. This file now becomes the new cyclic batch file that operates
DOSmenu. To get back to the original startup batch file, issue another /NEW
command from your active menu file.
LOGGING IN TO OTHER SERVERS
═══════════════════════════
You may login to another server from within a menu. You do this by placing
the /LOGIN command before the actual command that calls your login sequence.
The difference between /NEW and /LOGIN is that /LOGIN does not check to see if
your command actually exists (it would be impossible) and the command does
not have to be a batch file. Therefore, you should attempt to be sure your
login sequence will protect you in case the user fails the login. DMlogin
works great in this regard. It keeps you users from DOS, period, until the
login is successful. Of course, the new server login script should (really
must for security) call another DOSmenu startup batch file on the new server.
Place the /LOGIN [PATH]COMMAND as the first and only command line for a menu
item, like:
;─────
Login to Support
/login [path]support[.bat]
-or- /login login server2/user1
-or- /login login /pro=server2 server2/user1 ;for NetWare Naming Service
Word Perfect
wp
;─────
Here, if Login to Support is chosen, then the system will quit the current
batch file, dumping the menu environment variable, and run your command
file (which should attempt a login sequence).
SUB-MENUS
══════════════════════════════════════════════════════════════════════════════
Sub-menus are just like the main menu except that their title is the first
line of their definition. The main menu's title is the first line of the
menu file. Their title must start with a percent '%' character, and when
called from another menu item, this percent character must be included.
;─────
%Main Menu
Word Perfect
wp
Utilities
%Utility Menu
Paradox
paradox
;The , 5, 10 is optional and determines x and y menu window coordinates
%Utility Menu, 5, 10
Directory of...
dir @ /p
Check disk
chkdsk @:
;─────
Here, the sub-menu '%Utility Menu' is called from one of the main menu items.
Sub-menus follow the server-based convention along the vertical development of
the menu file. In other words, if a sub-menu is found under the :SERVER2
server name line, then it will not be accessible from a menu calling it which
is situated under :SERVER1. Sub-menus are typically placed at the end of the
menu file under an :ALL alias server name section.
Although you may place up to 15 sub-menus per menu file, we recommend not more
than 10. This is to protect the integrity of your network (DOSmenu will not
load if there is not enough memory). 15 sub-menus take about 550K. 10
sub-menus take about 450K. Remember, you may always load additional menus
with the /LOAD and /NEW commands.
COMPILING MENU FILES
══════════════════════════════════════════════════════════════════════════════
The DMutil program will compile and decompile INI and menu files, if desired.
The syntax is:
DMUTIL /C [PATH]FILENAME
The output compiled file will be the same name. You can then later decompile
the file with the command:
DMUTIL /D [PATH]FILENAME
Compiling INI and menu files is not, repeat not, required. Your users can
run DOSmenu all day long without ever compiling one file. However, there is
one overriding reason why you may wish to consider compiling them after they
have been tested -security. Your menus are much more secure when compiled.
TRANSLATING MENU FILES
══════════════════════════════════════════════════════════════════════════════
You can easily translate NetWare batch files to DOSmenu batch files with the
DMutil utility with the following command:
DMUTIL /T [PATH]NETWARE_MENU_NAME
The generic default server name flag :ALL will be placed two lines after the
main menu title, giving access to all servers initially.
If your NetWare menu used any @variable"fill-in lines", then you must change
them within the new menu file to DOSmenu's format as it uses the external
DMquery utility for this purpose with additional options.
TEMPORARY BATCH FILES
══════════════════════════════════════════════════════════════════════════════
Normally DOSmenu simply takes a menu's DOS command and stuffs it into the DOS
variable _dmcmd so that the startup batch file, MENU.BAT, can then run it
after DOSmenu quits. However if their is more than one DOS command, this
approach would not work. Therefore DOSmenu instead will make a temporary
batch file and stuff the name of that batch file to the variable instead.
The location and name of the temporary batch file is as follows:
Name
────
On a Novell network, the name will be _DMBTn.BAT where n is the actual
network connection number taken by the user's work station. _DMBTnnn.BAT is
used if the connection number is greater than 999.
If not on a Novell network, then the batch file is simply named _DMBAT.BAT.
Location
────────
If the Private Directory option in the INI file was filled out with a
directory, then the batch file will be written and run from that directory.
If not, then it will be written and run from DOSMENU.EXE's home directory,
which is fine for stand-alone environments.
Notes
─────
The DOS batch file word 'call ' is placed at the beginning of every line that
does not start with a ':' (which could be a label). This syntax _only_
affects commands that are actually batch file names, allowing them to return
to DOSmenu's temporary batch file at completion.
Example
───────
If a menu item looked like this:
;─────
Word Perfect
f:
cd\apps\wp51
wp
h:
cd\
;─────
then the corresponding batch file would look like this:
call @echo off
call f:
call cd\apps\wp51
call wp
call h:
call cd\
DOS ENVIRONMENT VARIABLES
══════════════════════════════════════════════════════════════════════════════
DOSmenu uses DOS variables to make the system work without _any_ overhead;
user ID, server name, workstation node address, command for a selected menu
item, last time the DOSMENU.NTE file was changed (for noticing), software
metering application, and name of the last 'main menu' used.
The node address variable needed if you intend to restrict any menu items by
comparing a work station's node address. In a Novell network, you could
define this variable like:
DOS SET _NODE="%P_STATION"<<4
where the <<4 takes the first 4 numbers away from the actual twelve digit
address.
The user ID and server name variables are _only_ needed if you are not running
on NetWare and are not on a stand-alone environment. In this case, you define
and load two DOS variables once during the user login script with the correct
information.
DOS SET _USER="%LOGIN_NAME"
DOS SET _SERVER="%FILE_SERVER"
where _user and _server and be called anything you wish. You would then add
these two names two the INI file so DOSmenu will know what they are called.
It takes care of the rest.
The variable for the menu item command is called _dmcmd and is always used.
The variable _dmnte is used when you wish to leave dynamic notices to
any and all users.
The menu name variable, _dmmnu, keeps track of the last permanent main menu
used in DOSmenu before quitting to the batch file as well as the last
sub-menu and item selected.
The _dmmtr variable holds the meter rights issued with the current DOS
command, if any.
DMquery also uses environment variables. It will use up to 9 variables named
_dmq1, _dmq2, .., _dmq9.
NOTICING
══════════════════════════════════════════════════════════════════════════════
DOSMENU.NTE is used to leave notices to any and all users -dynamically. Here
you may place notices based on the rights defined for each notice. Each
notice consists of at least two lines; line 1 contains the rights and the
following lines (up to 10) contain the actual notice, like:
;─────
{g=paradox} {s=server1}
Paradox will be down on SERVER1 all day today.
Hopefully it will be up tomorrow...
;─────
Here, only users in group PARADOX on server SERVER1 will get this notice when
they next start up the menu system.
Each user may have up to 15 active notices. Each notice may have up to 10
lines of up to 70 characters long.
You can add and subtract from this section anytime throughout the day. When
a user starts the menu system, and after returning to the menu system (from
commands, etc), the notices are checked and shown, if needed. This gives the
noticing system a dynamic quality that can be quite useful to you as an
administrator!
The time stamp of the file when the user reads notices is kept in a DOS
variable called _dmnte. This variable is checked each time a user reloads the
menu system after running a command. If you have made a change to the
DOSMENU.NTE file during that time, then the user will see the notices again,
and the variable will be updated.
PERSONAL MENUS
══════════════════════════════════════════════════════════════════════════════
On a network, each user may use and maintain one personal menu, named
DOSMENU.PER. This menu file is kept and read from the user's defined private
directory.
The F5 key will load (like /LOAD) the menu for the user so he/she can use it.
After running a command from it, DOSmenu will return to the last shared main
menu. If the personal menu does not yet exist, a shell will be created for
the user first.
The F6 key allows the user to edit the personal menu with DMutil. All
commands that would grant access to other parts of your network are disabled
while the user is editing the menu. Only the SAVE and QUIT commands are
enabled.
To disallow the personal menu option, set the "Allow Personal Menus" line to
NO in DOSMENU.INI.
If allowed, we recommend setting the "Force Personal NoBreaks" line to YES.
Otherwise, a user may inadvertently set up a DOS command like "dir /p" or
setup a DOS batch file (by entering two or more commands for a menu item) that
they may later be able to break out of with ^C or ^Break. Setting nobreaks to
yes prevents this from ever happening. One disadvantage to using this
approach is that any NetWare search mappings contained within a batch file
will not work. An alternative approach would be to set nobreaks to false and
instead use the included NOBRK TSR utility, which ensures complete nobreak
protection without affecting network batch file-based search mappings.
SOFTWARE METERING SERVICE
══════════════════════════════════════════════════════════════════════════════
DOSmenu now includes a powerful capability called software metering which
enables you to control the number of simultaneous run instances of an
application. For instance, if you have bought 25 licenses for WordPerfect,
you now have the means to insure that only 25 copies are run at one time from
with the menu system on your network.
There are more expensive and perhaps more foolproof offerings on the market
for this service, but DOSmenu does the job simply and easily. We believe that
an administrator's effort level in attempting to control software licensing is
at least 95 percent of any large distributor's concerns.
To set up metering:
1. Place these commands in the DOSMENU.INI file:
Use Metering=yes
Metering File=f:\share\dosmenu.mtr (or something like that)
Users must have WRITE and ERASE rights to the above area.
2. Place the meter right on those commands you want metered, for example:
;─────
W WordPerfect
{m=wp51:25}
f:\apps\wp\wp
;─────
will meter the use of F:\APPS\WP\WP.EXE for all accesses from DOSmenu. If
25 instances are already in use (in this example), then DOSmenu will instruct
the user that the maximum licenses are in use and to try again later.
The syntax is important. The application keyword, in this case WP51, may be
10 or less characters with no spaces, followed by an immediate colon ':',
followed by an immediate number from 1 to 999 (with no spaces) -or- if no
:number is entered, then 999 is assumed (good for counting accesses only).
Of course anyone accessing WP.EXE from outside of the menu system will not be
metered in this way. See the DMMETER UTILITY section to find out how to
meter software run from outside the menu system.
Note: RECOMMEND DELETING THIS FILE PERIODICALLY/NIGHTLY...
If any user locks up while in a metered application, or gets rebooted at that
point, then the meter count for that app will remain off by one (it will show
one greater than actual). For this reason, we recommend deleting the defined
meter file periodically, perhaps at night before or after your backup. See
WOMETER WINDOWS METERING UTILITY section below for an automatic way to perform
this function.
DMUTIL MAINTENANCE UTILITY
══════════════════════════════════════════════════════════════════════════════
COMMAND PARAMETERS
══════════════════
The DMutil program keeps all of your menu maintenance requirements in one
utility. Anything you need to do to your menu system can be done with DMutil.
Here is the command syntax:
DMUTIL ?
DMUTIL /M|T|C|D [PATH]FILENAME
DMUTIL
DMUTIL [PATH]FILE|[PATH]SPEC [[[PATH]FILE|[PATH]SPEC] ..]
DMUTIL /L [USER_ID]
where:
? = DMutil and system installation quick help
/M = Makes default DOSmenu BAT, MNU, INI, and NTE files
/T = Translates NetWare menu files
/C|D = Compiles|Decompiles DOSmenu INI, MNU, or NTE files
= Edits all menu system files at once
FILE.. = Edits any number of text file(s) up to 64K in length each
/L = parses specific user ID entries from the central log file, if used.
THE MENU FILE EDITOR
════════════════════
The editor is a simple ascii text editor that has specific help screens to
give you some on-line help on all menu file types. Any ascii editor can be
used to edit the startup BAT, INI, MNU and NTE files (if they have not been
compiled).
It's operation is self-explanatory, but a few items are worth mentioning:
o Edits files with any DOS attribute set and then resets those attributes
afterwards.
o Automatically decompiles - edits - recompiles your menu files for you.
o Can edit many text files at once with commands like \WINDOWS\*.INI, etc.
o Can show tabs and spaces in a file on screen.
DMQUERY BATCH INPUT UTILITY
══════════════════════════════════════════════════════════════════════════════
DMquery is a utility that can be used to provide input for batch files made
with DOSmenu.
Here are the command line parameters:
DMQUERY n [/R|U|E|Danswer]
where
n = A number from 1..9
/R = Input required (an answer must be given)
/U = Input forced to upper case
/E = Input echoed to screen afterwards
/Danswer = Input default answer is 'answer' (must be one word only)
The DOS variable '_DMQn' is used. DMquery may be run from DOS or a DOS shell;
however, it must be queried for and acted upon within the _same_ batch file,
like:
@echo off
echo What is your name? {your question}
dmquery 1 /r/dJoe {answer required, put in var _DMQ1, def=Joe}
if errorlevel 255 goto.. {not enough env space? -optional}
echo %_dmq1% {use answer variable _DMQ1 as you wish!}
Here is an example DOSmenu menu item:
;─────
D Directory
echo Directory of what?
dmquery 1
echo Switches (/w, /p, etc)?
dmquery 2
dir %_DMQ1% %_DMQ2%
pause
;─────
DMMETER METERING UTILITY
══════════════════════════════════════════════════════════════════════════════
This utility can optionally monitor your software usage from outside of the
menu system. It does the same thing DOSmenu does when you activate the meter
right for a menu item, except it does it from within DOS batch files.
Here are the command line parameters:
DMMETER APP[:LICENSE_COUNT] {before batch command}
and
DMMETER {after batch command}
Here is an example batch file:
@echo off
[path]dmmeter wp51:25 ;add instance of wp51 app to meter file
if errorlevel 1 goto END ;if too many instances already, don't do it
f:\apps\wp\wp ;run the app
[path]dmmeter ;subtract instance of wp51 from meter file
:END
DMMETER.EXE must reside in DOSMENU.EXE's home directory, and DOSMENU.INI must
also be present in DOSMENU.EXE's home directory.
If an errorlevel 1 is returned, an error window pops up to tell the user
of the problem and asks them to try again later.
To reset a problem app (one that locks machines now and then?) to 0 in the
meter file (instead of deleting the entire file) run DMmeter with the reset
switch, like:
DMMETER /RESET APP
Example:
dmmeter /reset wp51
To view concurrent usage of metered software applications from the DOS prompt,
use:
DMMETER /VIEW
WOMETER METERING UTILITY
══════════════════════════════════════════════════════════════════════════════
This utility can optionally monitor your software usage from within Windows.
WOMETER.EXE will attempt to find the meter file's name in its WOMETER.INI
file. If it does not, it will make this file in its home directory and then
you can fill in the name of the meter file, like:
[Setup]
MeterFile=f:\login\logs\dosmenu.mtr (or something like that)
WOmeter allows real-time reseting of specific metered applications, in case
the count has gone astray (perhaps from user lockups, etc.).
You may also set up WOmeter to automatically erase your meter file on a daily
basis at a specified time. The default is 00:01 (one minute after midnight).
You may also define the length of time WOmeter waits between re-reads of the
meter file (between 10 and 60 seconds).
WINDOWS OFFICE SYSTEM
══════════════════════════════════════════════════════════════════════════════
We now have another product, WOmenu, that is a network menuing system as
well. However, WOmenu is Windows-based. It's functionality is a
similar to DOSmenu (rights, etc.) and it works nicely in conjunction with
DOSmenu (shared log and meter files, etc.). If you are interested in this
product, please contact us. To try it first, look on Compuserve in the
NOVUSER/New Uploads [1] forum for the file WOMNU.EXE.
ADDITIONAL DOSMENU DOCUMENTATION FILES
══════════════════════════════════════════════════════════════════════════════
The following files are located on disk:
README.TXT - Quick start.
DMSAMPLE.DOC - Sample menu.
DMUSERS.DOC - Useful hints from users.
DMLOGIN.DOC - DMlogin documentation.
NOBRK.DOC - NoBrk documentation.
DMBONUS.DOC - Notes on bonus programs.
DMORDER.DOC - Order form.
DMREV.DOC - Revision history.
DMLEGAL.DOC - Shareware and legalities.